1. Field of the Invention
The present invention generally relates to a system and method for transmitting information, and more specifically, to a system and method for transmitting information using modified Reed-Solomon coding.
2. Related Art
High-speed communication, such as fiber-optic communication, has become increasingly advanced. Techniques have been developed to send a high capacity (bit rate) message accurately, in the presence of transmission noise, over a long distance.
In high-speed communications, messages are encoded into binary tuples, yielding defined code words. These code words are often transmitted erroneously (e.g., due to transmission noise).
Errors can be detected and corrected using error-correction coding (ECC). Error-correction coding (ECC) is used to control errors by coding extra (redundant) bits into a stream of data transmitted to a receiving device. The redundant bits are used by the receiving device in detecting and, where possible, correcting errors in the data.
The ability to detect or correct errors depends on the known set of defined code words. The number of bits by which any two code words differ determines the error-detecting capability of a code. If any two code words are separated by at least n-bits, then if a received code word is separated from another code word by less than n-bits, errors can be detected as no such code words are defined. If the number of errors is less than n/2 the error can be corrected. For example, suppose a minimum distance for a code is 2, and a system is defined with only 2 code words: the letter B=1001 and the letter C=1111. B and C differ from each other by 2 bits. If the received word is 1101, it is known to be an error because 1101 is not defined as a code word, and will yield an error indication. Most ECCs are characterized by the maximum number of errors they can detect and by the maximum number of errors they can correct.
One important ECC coding technique is Reed-Solomon (R-S) coding. R-S was devised to address the issue of correcting multiple errors in transmitted data. The number and type of errors that can be detected and corrected depend on the specific R-S coding scheme used. An R-S code is specified as RS (s,j) with n-bit words, where s is 2n−1−1, and j is the number of data words. The number of redundancy, or parity, words, is equal to s−j (always an even number). An R-S system can correct up to t number of bytes, where t=(s−j)/2. Those skilled in the relevant arts will be familiar with R-S coding systems and methods. For additional information, the following source is incorporated by reference: Irving S. Reed and Gustave Solomon, “Polynomial Codes over Certain Finite Fields,” Journal of the Society for Industrial and Applied Mathematics, Vol. 8, 300-304 (1960).
Current ECC techniques are not practical. ECC techniques used in high speed digital communication are complex and expensive. There is thus a need for new coding techniques which provide a high coding gain (i.e., higher bit rates over longer distances) and simple, low-cost implementation.